home *** CD-ROM | disk | FTP | other *** search
/ 9-Digit Zip Code Directory / 9-Digit Zip Code Directory (American Business Information) (ABIZIP-12).ISO / z4src.zip / BSPORT.H < prev    next >
C/C++ Source or Header  |  1993-08-11  |  4KB  |  162 lines

  1. //----------------------------------------------------------------------------
  2. //                            MODULE DESCRIPTION
  3. //
  4. //  Module:    bs_port.h
  5. //   Title:    Base library
  6. //  Notice:    John M. Weeder
  7. //                 Copyright (c) 1993. All rights reserved.
  8. //             This module contains proprietary information and should be 
  9. //                treated as confidential.
  10. //
  11. //----------------------------------------------------------------------------
  12. //                           MAINTENANCE HISTORY
  13. //
  14. // $Workfile$
  15. // $Revision$
  16. //   $Author$
  17. //     $Date$
  18. //      $Log$    
  19. //
  20. //----------------------------------------------------------------------------
  21. //                             MODULE NARRATIVE
  22. //
  23. //    This files contains macros to handle portability issues. The following
  24. //    macros are appropriately declared for the compiler and operating system:
  25. //        _PASCAL_            Pascal calling and naming
  26. //        _CDECL_            C calling and naming
  27. //        _FASTCALL_        FastCall calling and naming
  28. //        _LOADDS_            Load DS register on entry. Used by OS/2 1.3 and Windows
  29. //                            DLLs.
  30. //        _EXPORT_            Export a function (DLL only)
  31. //        _HUGE_            'huge' variable or function or class.
  32. //        _FAR_                'far' variable or function.
  33. //        _FAR16_            'far16' variable or function. Used by OS/2 2.X for 
  34. //                            compatibility with 16 bit apps.
  35. //        _STDCALL_        OS/2 2.X standard call type
  36. //        _NEAR_            'near' variable or function.
  37. //        _INTERRUPT_        Interrupt handler.
  38. //
  39. //    The code in this module should be written entirely in C. 
  40. //    Do not use any C++ constructs.
  41. //
  42. //    This module is portable to:
  43. //        DOS 3.X+
  44. //        MS Windows 3.X+
  45. //        OS/2 2.X+
  46. //        OS/2 2.0 PM
  47. //        SCO UNIX.
  48. //
  49. //    The following compilers are supported:
  50. //        MSC 6.0A
  51. //        MSC/C++ 7.0
  52. //        Borland C++ 3.1 for DOS
  53. //        Borland C++ 1.0 for OS/2 2.X
  54. //        SCO UNIX cc
  55. //
  56. //----------------------------------------------------------------------------
  57.  
  58.  
  59. //----------------------------------------------------------------------------
  60. //    Type Modifiers
  61. //----------------------------------------------------------------------------
  62. #if COMPILER_MSC+COMPILER_BORLAND        // DOS compiler
  63. #  ifndef _PASCAL_
  64. #          define _PASCAL_          _pascal
  65. #  endif
  66. #  ifndef _CDECL_
  67. #          define _CDECL_           _cdecl
  68. #  endif
  69. #  ifndef _FASTCALL_
  70. #          define _FASTCALL_          _fastcall
  71. #  endif
  72. #  ifndef _EXPORT_
  73. #        if COMPILE_DLL
  74. #              define _EXPORT_      _export
  75. #        else
  76. #              define _EXPORT_
  77. #        endif
  78. #  endif
  79. #    if OS_OS2 || OS_PM                        // OS/2 2.X
  80. #      ifndef _FAR16_
  81. #              define _FAR16_          _far16
  82. #      endif
  83. #      ifndef _STDCALL_
  84. #              define _STDCALL_        _stdcall
  85. #      endif
  86. #     ifndef _FAR_
  87. #             define _FAR_
  88. #     endif
  89. #     ifndef _HUGE_
  90. #             define _HUGE_
  91. #     endif
  92. #     ifndef _NEAR_
  93. #             define _NEAR_
  94. #     endif
  95. #     ifndef _LOADDS_
  96. #             define _LOADDS_
  97. #     endif
  98. #     ifndef _INTERRUPT_
  99. #             define _INTERRUPT_
  100. #     endif
  101. #    else
  102. #      ifndef _FAR16_
  103. #              define _FAR16_      
  104. #      endif
  105. #      ifndef _STDCALL_
  106. #              define _STDCALL_
  107. #      endif
  108. #     ifndef _FAR_
  109. #             define _FAR_            _far
  110. #     endif
  111. #     ifndef _HUGE_
  112. #             define _HUGE_            _huge
  113. #     endif
  114. #     ifndef _NEAR_
  115. #             define _NEAR_           _near
  116. #     endif
  117. #     ifndef _LOADDS_
  118. #             define _LOADDS_         _loadds
  119. #     endif
  120. #     ifndef _INTERRUPT_
  121. #             define _INTERRUPT_      _interrupt
  122. #     endif
  123. #    endif
  124. #else                                  // All other compilers
  125. #  ifndef _PASCAL_
  126. #      define _PASCAL_
  127. #  endif
  128. #  ifndef _CDECL_
  129. #      define _CDECL_
  130. #  endif
  131. #  ifndef _FASTCALL_
  132. #      define _FASTCALL_
  133. #  endif
  134. #  ifndef _LOADDS_
  135. #      define _LOADDS_
  136. #  endif
  137. #  ifndef _EXPORT_
  138. #      define _EXPORT_
  139. #  endif
  140. #  ifndef _FAR_
  141. #      define _FAR_
  142. #  endif
  143. #  ifndef _HUGE_
  144. #        define _HUGE_
  145. #  endif
  146. #  ifndef _FAR16_
  147. #          define _FAR16_
  148. #  endif
  149. #  ifndef _STDCALL_
  150. #          define _STDCALL_
  151. #  endif
  152. #  ifndef _NEAR_
  153. #      define _NEAR_
  154. #  endif
  155. #  ifndef _INTERRUPT_
  156. #          define _INTERRUPT_     
  157. #  endif
  158. #endif
  159. //----------------------------------------------------------------------------
  160. //------------------------------- End of File --------------------------------
  161. //----------------------------------------------------------------------------
  162.